package com.atguigu.bigdata.scala.chapter04

import scala.util.control.Breaks

object Scala09_Flow {

    def main(args: Array[String]): Unit = {

        // TODO 循环
        // continue(继续) : 在java中，表示当前的循环不再做处理了，而是继续下一次的循环
        // break(中断) : 在java中，表示当前的循环终止，整个循环也同时终止，等同于跳出循环

        // continue的操作完全可以使用逻辑判断if进行代替，所以scala中没有continue关键字
        // scala中也没有break关键字，因为break操作不是面向对象的，采用对象方法的方式来代替

        // scala中的break方法会抛出异常，终止线程的后续执行，从逻辑上不对
        // 为了解决这个问题，需要额外再添加代码
        Breaks.breakable { // 捕捉异常
            for ( i <- 1 to 5 ) {
                if ( i == 3 ) {
                    //break;
                    Breaks.break() // 抛出异常
                }
                println("i = " + i)
            }
        }

        println("main方法执行完毕")

    }
}
